home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 2.3 KB | 51 lines | [TEXT/MPS ] |
- (*---------------------------------------------------------------------------*
- | |
- | <<< Unmangler.p >>> |
- | |
- | C++ Function Name Decoding |
- | |
- | Copyright Apple Computer, Inc. 1988-1995 |
- | All rights reserved. |
- | |
- *---------------------------------------------------------------------------*)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE Unmangler;
-
- IMPORT SYSTEM, Types;
-
- (*
- PROCEDURE unmangle*(dst: UNIV Types.Ptr; src: UNIV Types.Ptr; limit: LongInt): LongInt; C;
- (*This function unmangles C++ mangled symbols (i.e. a symbol with a type signature).
- The mangled C string is passed in “src” and the unmangled C string is returned in
- “dst”. Up to “limit” characters (not including terminating null) may be retured
- in “dst”.
-
- The function returns,
-
- -1 ==> error, probably because symbol was not mangled, but looked like it was
- 0 ==> symbol wasn't mangled; not copied either
- 1 ==> symbol was mangled; unmangled result fit in buffer
- 2 ==> symbol was mangled; unmangled result truncated to fit in buffer*)
- *)
-
- PROCEDURE Unmangle*(dst: (*ΔΔUNIVΔΔ*) Types.StringPtr; src: (*ΔΔUNIVΔΔ*) Types.StringPtr; limit: LONGINT): LONGINT;
- (*This function unmangles C++ mangled symbols (i.e. a symbol with a type signature).
- The mangled Pascal string is passed in “src” and the unmangled Pascal string is
- returned in “dst”. Up to “limit” characters may be retured in “dst”.
-
- The function returns,
-
- -1 ==> error, probably because symbol was not mangled, but looked like it was
- 0 ==> symbol wasn't mangled; not copied either
- 1 ==> symbol was mangled; unmangled result fit in buffer
- 2 ==> symbol was mangled; unmangled result truncated to fit in buffer
-
- This function is identical to unmangle() above except that all the strings are
- Pascal instead of C strings.
- *)
- EXTERNAL PASCAL;
-
- END Unmangler.
-